文章目录
  1. 1. 事实表特性

本博客主要内容为对书中第三章事实表特性的知识的总结。

事实表特性

事实表特性主要包括粒度、可加性、稀疏性和退化维。
事实分为可加事实,半可加事实和非可加事实。

每个事实表通过获取描述业务过程的度量来表达业务过程。然而,一些事实不能被聚集。这些不可求和的事实通常可以分解到其他可求和的事实表中。
事实表记录信息的细节程度被称为粒度。尽可能将事实表的粒度设置为最详细的数据粒度级别。
将事实相加以获得对单个事实汇总的能力被称为可加性
事实表是度量业务过程的引擎。事实表存储用来描述过程的详细粒度。事实采用外键为每个度量提供维度环境。在某些情况下,事实表可以包含维度。作为过程度量的核心,事实表应包含与其描述的过程有关的所有事实,当然也可以包含从其他方面获得的一些事实。事实以特定的细节层次存储,但可以通过上卷产生各种级别的维度。由于事实具有可加性,因此这样的聚集是可能的。某些度量不具备可加性,但通常可以分解成具有可加性的组件。
常见的错误是在事实表中存储数量单位而不是存储延伸量。数量单位通常用作维度。它也可以用于计算延伸量,延伸量通常作为事实存在。只有事实才具备可加性,提供灵活的分析能力。如果没有合适的维度表用于存储数量单位,可以将它们放置于退化维中。
存在非可加事实,如利润率。汇总行中的利润率需要根据分类汇总的利润额度和订单额度的比值得到,而非通过将各个销售人员的利润率相加获得。非可加事实以可加事实的比率方式计算。 由于非可加事实并未存储在事实表中,需要注意不要丢失这些事实,应该被文档化。
出现在事实表中的组合数量远远小于可能存在的组合数量,该项特性被称为稀疏性
有时,不可能将所有与业务相关的维度分类到一个紧凑的表集合中。类似这样的情况,将一个或多个维度存储到事实表中是合适的选择。若采用了这种方法,存储到事实表中的维度列被称为退化维度,简称退化维
虽然被存储在事实表中,但该列仍应被视为维度。与其他表中的维度列一样,其值仍然可以用于过滤查询、控制聚合层次、排序数据、定义主从关系等。应该谨慎使用退化维度,因为事实表累计记录的速度很快,包含退化维度可能会造成存储空间的过度消耗。多数情况下,适合选作退化维度的维度最好放置到杂项维度中,事务标识除外。事务标识通常作为退化维度存储。它也可以作为事实表中行的唯一标识,并用于定义事实表的粒度。虽然事务标识通常作为退化维度存储,但这并不是必须遵循的规则。

文章目录
  1. 1. 事实表特性